// house_pkg/pages/locate/index.ts
// 导入位置服务实例
import QQMap from '../../../utils/qqmap'
Page({
  data: {
    points: [],
    address: '',
  },
  onLoad() {
    // 获取用户经纬度
    this.getLocation()
  },
  // 获取用户位置
  async getLocation() {
    // 调用小程序 API 获取用户位置
    const { latitude, longitude } = await wx.getLocation()
    console.log('终点：',latitude, longitude)
    this.getPoint(latitude, longitude)
  },
  async chooseLocation() {
    // 调用小程序API 获取新的位置
    const res = await wx.chooseLocation()
    console.log(res)
    console.log('起点：',res.latitude, res.longitude)
    // 获取新的位置附近的小区
    this.getPoint(res.latitude, res.longitude)
  },
  getPoint(latitude, longitude) {
    // 显示loding
    wx.showLoading({
      title: '正在加载中...',
    })
    // 逆地址解析
    QQMap.reverseGeocoder({
      location: [latitude, longitude].join(','),
      success: (resulte) => {
        console.log('逆地址解析：', resulte)
        this.setData({ address: resulte.result.address })
      },
      fail: (err) => {
        console.log(err.message)
      },
    })
    QQMap.search({
      keyword: '住宅小区', //设置搜索关键词
      location: [latitude, longitude].join(','), //设置周边搜索中心
      // location: `'${latitude},${longitude}'`,
      page_size: 5,
      success: (resulte) => {
        console.log(resulte)
        // 过滤多余的数据
        const points = resulte.data.map(({ id, title, _distance }) => {
          return { id, title, _distance }
        })
        console.log(points)
        // 渲染数据
        this.setData({ points })
      },
      fail: (err) => {
        console.log(err.message)
      },
      complete: () => {
        // 隐藏loding
        wx.hideLoading()
      },
    })
  },
})
